package com.wwu.system.service;

import com.wwu.common.web.ResultPage;
import com.wwu.system.entity.Redis;
import java.util.List;

/**
 * 系统缓存服务接口类
 * @author 一蓑烟雨
 * @version 1.0.0
 * @date 2023-07-21 11:08
 */
public interface IRedisService{

    /**
     * 分页查询缓存信息
     * @param pageNum  页码
     * @param pageSize  每页数量
     * @param redisKey   缓存键前缀
     * @param redisType   缓存键类型
     * @return com.wwu.common.web.ResultPage<com.wwu.monitor.entity.Redis>
     * @author 一蓑烟雨
     * @date 2023/7/21 11:15
     */
    ResultPage<Redis> getRedisListPage(Integer pageNum, Integer pageSize, String redisKey, String redisType);

    /**
     * 新增或更新缓存信息
     * @param redis redis实体类
     * @author 一蓑烟雨
     * @date 2023/7/21 11:15
     */
    void saveOrUpdateRedis(Redis redis);

    /**
     * 根据缓存key批量刷新内置缓存信息
     * @param redisKeys redis缓存键集合
     * @author 一蓑烟雨
     * @date 2023/7/21 11:15
     */
    void updateRedisByKeys(List<String> redisKeys);

    /**
     * 删除缓存信息
     * @param redisKeys redis缓存键集合
     * @author 一蓑烟雨
     * @date 2023/7/21 11:15
     */
    void deleteRedis(List<String> redisKeys);


}
